#include <stdio.h>
 
int main(int argc,const char * argv[])
{
 /*越界处理*/
char a = 129;
 printf("a=%d\n",a);
 /*存放时
 原  1000 0001
 反  1000 0001
 补  1000 0001
取出时
      补  1 000 0001
      反  1 000 0000
      原  1 111 1111 >> -127
 */
 unsigned char b=-2;
 printf("b=%d\n",b);
 /*存放时
 原  1000 0010
 反  1111 1101
 补  1111 1110
取出时
      补  1111 1110
      反  1111 1110
      原  1111 1110 >>  254
 */
 char c = 128;
 printf("c=%d\n",c);
 /*存放时
 原  1000 0000
 反  1000 0000
 补  1000 0000
取出时
      补  1 000 0000
      反  0 111 1111
      原  1 000 0000 >> -128
 */
 return 0;
}